import org.junit.Test;

public class CheckedExceptionTest {
//    @Test
//    public void test1() {
//        Class loadClass = Class.forName("java.lang.Exception"); // ClassNotFoundException
//    }
//
//    public void test2() {
//        File file = new File("D:\\Java从入门到提桶跑路.txt");
//        FileInputStream fis = new FileInputStream(file); // FileNotFoundException
//        int input = fis.read(); // IOException
//        while (input != -1) {
//            System.out.print((char) input);
//            input = fis.read(); // IOException
//        }
//
//        fis.close(); // IOException
//    }

//    @Test
//    public void test3(){
//        Object obj = 15;
////        String str = (String) obj; //ClassCastException
//    }

//    @Test
//    public void test1() {
//        try {
//            String str = "Hello Java Exception";
//            str = null;
//            System.out.println(str.charAt(0));
//        } catch (NullPointerException e) {
//            // 异常的处理方式1
//            System.out.println("出现了空指针异常");
//        } catch (ClassCastException e) {
//            // 异常的处理方式2
//            System.out.println("出现了类型转换的异常");
//        } catch (RuntimeException e) { // 因为运行时异常是上面两个异常的父类 所以要排在它们后面
//            // 异常的处理方式3
//            System.out.println("出现了运行时异常");
//        }
//        // 此处的代码，在异常被处理了以后，是可以正常执行的
//        System.out.println("hello");
//    }

    @Test
    public void test() {
        try {}
        catch (Exception e) {}
        finally {}

        try {}
        catch (Exception e) {}

        try {}
        finally {}
    }
}

